/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package springinyeccion;

import java.util.List;
import modelo.Libro;
import modelo.ProyectoDAO;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 *
 * @author odeen
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        ApplicationContext aplicacion = new ClassPathXmlApplicationContext("basedatos3.xml");
        {
            ProyectoDAO dao = (ProyectoDAO) aplicacion.getBean("ProyectoDao1");
            System.out.println("Borramos 1,2,3");
            dao.borrarTresLibros();
            mostrar(dao.buscarLibros());
            System.out.println("Agregamos 1,2,3");
            try {
                dao.agregarTresLibros(false);
            } catch (Exception e) {
                System.out.println("ERROR: "+e.getMessage());
            }
            mostrar(dao.buscarLibros());

            System.out.println("Borramos 1,2,3");
            dao.borrarTresLibros();
            mostrar(dao.buscarLibros());
            System.out.println("Agregamos 1,2,3 con repetido 1");
            try {
                dao.agregarTresLibros(true);
            } catch (Exception e) {
                System.out.println("ERROR: "+e.getMessage());
            }
            mostrar(dao.buscarLibros());
        }       
    }

    private static void mostrar(List<Libro> libros) {
        if(libros.size()==0){
            System.out.println("No hay libros");
        }else{
            for(Libro l : libros){
                System.out.println("Id: "+l.getId()+" "+l.getTitulo());
            }
        }
    }
}


//
Servlet Listener-->
    ApplicationContext contextoSpring = new ClassPathXmlApplicationContext("basedatos3.xml");
    application.setAttribute("contextoSpring",contextoSpring);
    application.setAttribute("dao",contextoSpring.getBean("ProyectoDao1"));